
const cookie = new Cookie();
const token = cookie.getCookie('token');
//判断用户登录状态
function getUserStatu() {
  if (!cookie.getCookie('uid')) {
    //如果用户未登录，点击按钮登录
    $('.exit-btn').css('display', 'none')
    $('.login-btn').click(() => location.href = './login.html')
  } else {
    //如果用户登录了，登录按钮变为用户的用户名
    $('.exit-btn').css('display', 'block')
    $('.login-btn').text(cookie.getCookie('username'));
    $('.login-btn').addClass('logined');
  }
}

//退出登录
$('.exit-btn').click(() => {
  hsycms.confirm('确定退出登录吗？',
    //确定退出登录
    function () {
      cookie.delCookie('username')
      cookie.delCookie('password')
      cookie.delCookie('token')
      cookie.delCookie('uid')
      history.go(0);
      // hsycms.success('点击了确定');
    },
    //取消退出登录
    function () {
      // hsycms.fail('点击了取消');
    },
  )
})


//初始化页面，获取商品列表
function getGoodList(opt) {
  //显示加载弹窗
  hsycms.loading('正在加载');
  //向后端请求商品数据
  request({
    type: 'post',
    url: 'https://api.it120.cc/conner/shop/goods/list/v2',
    data: opt || {},
    loading: true,
  }).then(res => {
    //处理后端返回的数据
    const { data } = res;
    const { result } = data
    let str = '';
    result.forEach(item => {
      str = str + `
          <div class="col-sm-6 col-md-3 ">
            <div class="thumbnail">
              <img src="${item.pic}" alt="..." class= "good-img">
              <div class="caption">
                <h3 class="good-name">${item.name}</h3>
                <div class="good-price">
                <p>￥原价<span class="ori-price">${item.originalPrice}</span></p>
                <p class="p-min-price">￥现价<span class="min-price">${item.minPrice}</span></p>
                </div>
                <p>库存<span class="good-store">${item.stores}</span></p>
                <p class="width"><a href="javascript:;" class="btn btn-success btn-sm add-cart" data-id="${item.id}">加入购物车</a>
                  <a href="javascript:;" class="btn btn-warning btn-sm add-favor" data-id="${item.id}" data-type="${item.type}">加入收藏</a>
                  <a href="./favor.html?id=${item.id}" class="btn btn-info btn-sm">查看详情</a>
                </p>
              </div>
            </div>
          </div>
        `;
    })
    $('.content').html(str);
    //关闭弹窗
    hsycms.closeAll();
  })
}

//初始化页面
$(function () {
  // 请求商品列表的数据
  getGoodList()
  //判断用户登录状态
  getUserStatu()
})

//商品排序
$('.dropdown-menu li').click(function () {
  const orderBy = $(this).attr('data-sort')
  getGoodList({
    orderBy
  })
})

//进入购物车
$('.my-cart').click(function () {
  if (!cookie.getCookie('uid')) {
    //如果用户未登录，点击按钮登录
    hsycms.confirm('您未登录，是否跳转到登录页登录？',
      //前往登录页
      function () {
        hsycms.loading('即将前往登录页');
        setTimeout(function () {
          location.href = './login.html'
          hsycms.closeAll();
        }, 1500)
      },
      //点击取消
      function () {
        // hsycms.fail('点击了取消');
      },
    )
  } else {
    //如果用户登录了，进入购物车页面
    location.href = './cart.html';
  }
})


/*
  参数一  模板id
  参数二  数据 --> 对象类型
  template  返回值是拼接好的html字符串
  */
let timeId = 0;
$('#search-text').on('input', function () {
  clearTimeout(timeId);
  const keyword = this.value;
  if (!keyword) {
    $('#list-box').css('display', 'none')
    return 0;
  }
  const nameLike = keyword;
  //定时器，防抖 --> 防止每一次输入时过多请求 
  timeId = setTimeout(() => {
    $.ajax({
      type: 'post',
      url: 'https://api.it120.cc/conner/shop/goods/list/v2',
      data: {
        nameLike: keyword
      }
    }).then(res => {
      const result = res.data.result;
      result.forEach(item => {
        $('#list-box').html(template('tpl', { key: item.name }));
        $('#list-box').css('display', 'block')
      })
    })
  }, 700);
})
//点击输入提示框的内容将内容添加到搜索框
$('#list-box').click(function () {
  $('#search-text').val($('#list-group-item').html());
  //点击添加完之后让输入提示框消失
  $('#list-group-item').html(null);
  $(this).css('display', 'none')
})

//搜索
$('#search-btn').click(() => {
  const k = $('#search-text').val();
  if (!k) {
    hsycms.alert('请输入搜索内容', () => {
      history.go(0);
    })
    //未输入搜索内容，弹出提示框
  } else {
    hsycms.loading('正在搜索');
    setTimeout(() => {
      hsycms.closeAll();
      getGoodList({ k });
    }, 2000)

  }
})

//点击加入收藏
$('.section').on('click', '.add-favor', function () {
  let goodsId = $(this).attr('data-id');
  let type = $(this).attr('data-type');
  request({
    type: 'post',
    url: 'https://api.it120.cc/conner/shop/goods/fav/add',
    data: {
      goodsId,
      type,
      token
    },
  }).then(res => {
    hsycms.success(res.msg, () => {}, 100)
  })
})

//点击加入购物车
$('.section').on('click', '.add-cart', function () {
  //拿到当前点击对象的id
  let goodsId = $(this).attr('data-id');
  let token = cookie.getCookie('token')
  addCart(goodsId, 1, token)
})
//加入购物车
function addCart(goodsId, number, token) {
  if (!token) {
    //如果用户未登录，点击按钮登录
    hsycms.confirm('您未登录，是否跳转到登录页登录？',
      //前往登录页
      function () {
        hsycms.loading('即将前往登录页');
        setTimeout(function () {
          location.href = './login.html'
          hsycms.closeAll();
        }, 1500)
      },
      //点击取消
      function () {
        // hsycms.fail('点击了取消');
      },
    )
    return
  }
  request({
    type: 'post',
    url: 'https://api.it120.cc/conner/shopping-cart/add',
    data: {
      goodsId,
      number,
      token
    },
    loading: true,
    timeout: 3000
  }).then(res => {
    hsycms.alert('加入购物车成功', () => {
    }, 1500)
  })
}

//导航栏进入我的收藏页
$('.myfavor').click(function(){
  hsycms.tips('缺少接口，功能未完善')
})